package com.senlingspace.system.service;

import java.util.List;

import com.senlingspace.common.core.domain.AjaxResult;
import com.senlingspace.system.domain.Project;
import com.senlingspace.system.domain.dto.ShopProjectDTO;

/**
 * 项目Service接口
 *
 * @author SenlingSpace
 * @date 2024-06-26
 */
public interface IProjectService {

    /**
     *   查询门店详细地址及其关联项目
     *
     * @param shopId 项目主键
     * @return 项目
     */
    ShopProjectDTO getShopAndProjectDetails(Long shopId);

    /**
     * 查询项目
     *
     * @param projectId 项目主键
     * @return 项目
     */
    public Project selectProjectByProjectId(Long projectId);

    /**
     * 查询项目列表
     *
     * @param project 项目
     * @return 项目集合
     */
    public List<Project> selectProjectList(Project project);

    /**
     * 新增项目
     *
     * @param project 项目
     * @return 结果
     */
    public int insertProject(Project project);

    /**
     * 修改项目
     *
     * @param project 项目
     * @return 结果
     */
    public int updateProject(Project project);

    /**
     * 批量删除项目
     *
     * @param projectIds 需要删除的项目主键集合
     * @return 结果
     */
    public int deleteProjectByProjectIds(Long[] projectIds);

    /**
     * 删除项目信息
     *
     * @param projectId 项目主键
     * @return 结果
     */
    public int deleteProjectByProjectId(Long projectId);

    /**
     * 获取项目下拉列表
     *
     * @param projectName
     * @return
     */
    AjaxResult projectSelected(String projectName);

    /**
     * @param id
     * @return {@link AjaxResult }
     */
    AjaxResult projectDetail(String id);

}
